package com.credithc.customers.manager.mapper;

import com.credithc.customers.base.po.CustomerIdInfoPo;
import com.credithc.customers.base.po.PreCustomerInfoPo;
import com.credithc.customers.manager.ro.CustomerInfoRo;
import com.credithc.customers.manager.ro.PreCustomerInfoRo;
import com.credithc.customers.manager.vo.PreCustomerExtendVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.sql.Timestamp;
import java.util.List;

/**
 * @author zhukai
 * @date 2018/12/17 17:41
 */
@Mapper
@Repository
public interface CustomerManagerMapper {

    List<PreCustomerExtendVo> selectPreExtend(@Param("preCustomerNo") String preCustomerNo);

    List<CustomerIdInfoPo> getList(@Param("ro") CustomerInfoRo ro);

    Integer getListCount(@Param("ro") CustomerInfoRo ro);

    List<PreCustomerInfoPo> getListByMultiSubSystemSign(@Param("ro") PreCustomerInfoRo ro, @Param("systemNumber") Integer systemNumber);

    List<PreCustomerInfoPo> getListByOneSubSystemSign(@Param("ro") PreCustomerInfoRo ro, @Param("subSystemSign") String subSystemSign);

    List<PreCustomerInfoPo> getListByNoSystemSign(@Param("ro") PreCustomerInfoRo ro);

    Integer queryCountByOneSubSystemSign(@Param("ro") PreCustomerInfoRo ro, @Param("subSystemSign") String subSystemSign);

    Integer queryCurrentDayFromPre(@Param("subSystemSign") String subSystemSign, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime);

    Integer queryCurrentDayFromsCust(@Param("subSystemSign") String subSystemSign, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime);
}
